import { authRequest} from '@/api/request';

/**
 * 获取用户列表
 * @param {Object} params 查询参数
 * @returns {Promise} 返回用户列表数据
 */
export function getUsers(params) {
  return authRequest({
    url: '/admin/users',
    method: 'get',
    params
  });
}

/**
 * 获取单个用户详情
 * @param {number} userId 用户ID
 * @returns {Promise} 返回用户详情
 */
export function getUserById(userId) {
  return authRequest({
    url: `/admin/users/${userId}`,
    method: 'get'
  });
}

/**
 * 更新用户权限
 * @param {number} userId 用户ID 
 * @param {Object} data 权限数据
 * @param {Array} data.permissions 权限列表
 * @returns {Promise} 返回更新结果
 */
export function updateUserPermissions(userId, data) {
  return authRequest({
    url: `/admin/users/${userId}/permissions`,
    method: 'put',
    data
  });
}

/**
 * 获取所有权限列表
 * @returns {Promise} 返回权限列表
 */
export function getAllPermissions() {
  return authRequest({
    url: '/admin/permissions',
    method: 'get'
  });
}

/**
 * 获取所有角色列表
 * @returns {Promise} 返回角色列表
 */
export function getAllRoles() {
  return authRequest({
    url: '/admin/roles',
    method: 'get'
  });
}

// 导出所有API函数为默认对象
export default {
  getUsers,
  getUserById,
  updateUserPermissions,
  getAllPermissions,
  getAllRoles
}; 